update_node_ordering (GtkSpinButton *spin_button)
{
GtkSpinButtonPrivate *priv = spin_button->priv;
- GtkCssGadget *middle, *last;
+ int down_button_pos, up_button_pos;
if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
{
if (gtk_widget_get_direction (GTK_WIDGET (spin_button)) == GTK_TEXT_DIR_LTR)
{
- middle = priv->down_button;
- last = priv->up_button;
+ down_button_pos = 1;
+ up_button_pos = -1;
}
else
{
- middle = priv->down_button;
- last = gtk_entry_get_gadget (GTK_ENTRY (spin_button));
+ down_button_pos = 1;
+ up_button_pos = 0;
}
}
else
{
- middle = gtk_entry_get_gadget (GTK_ENTRY (spin_button));
- last = priv->down_button;
+ up_button_pos = 0;
+ down_button_pos = -1;
}
gtk_box_gadget_set_orientation (GTK_BOX_GADGET (priv->gadget), priv->orientation);
- gtk_box_gadget_remove_gadget (GTK_BOX_GADGET (priv->gadget), middle);
- gtk_box_gadget_remove_gadget (GTK_BOX_GADGET (priv->gadget), last);
- gtk_box_gadget_insert_gadget (GTK_BOX_GADGET (priv->gadget), -1, middle, TRUE, TRUE, GTK_ALIGN_FILL);
- gtk_box_gadget_insert_gadget (GTK_BOX_GADGET (priv->gadget), -1, last, TRUE, TRUE, GTK_ALIGN_FILL);
+ gtk_box_gadget_remove_gadget (GTK_BOX_GADGET (priv->gadget), priv->up_button);
+ gtk_box_gadget_remove_gadget (GTK_BOX_GADGET (priv->gadget), priv->down_button);
+ gtk_box_gadget_insert_gadget (GTK_BOX_GADGET (priv->gadget),
+ up_button_pos, priv->up_button,
+ FALSE, TRUE, GTK_ALIGN_FILL);
+ gtk_box_gadget_insert_gadget (GTK_BOX_GADGET (priv->gadget),
+ down_button_pos, priv->down_button,
+ FALSE, TRUE, GTK_ALIGN_FILL);
}
static void
g_object_unref (entry_node);
gtk_box_gadget_insert_gadget (GTK_BOX_GADGET (priv->gadget),
-1, gtk_entry_get_gadget (GTK_ENTRY (spin_button)),
- TRUE, TRUE, GTK_ALIGN_FILL);
+ TRUE, FALSE, GTK_ALIGN_FILL);
priv->down_button = gtk_icon_helper_new_named ("button",
GTK_WIDGET (spin_button));
gtk_css_node_set_state (gtk_css_gadget_get_node (priv->down_button), gtk_css_node_get_state (widget_node));
gtk_box_gadget_insert_gadget (GTK_BOX_GADGET (priv->gadget),
-1, priv->down_button,
- TRUE, TRUE, GTK_ALIGN_FILL);
+ FALSE, TRUE, GTK_ALIGN_FILL);
priv->up_button = gtk_icon_helper_new_named ("button",
GTK_WIDGET (spin_button));
gtk_css_node_set_state (gtk_css_gadget_get_node (priv->down_button), gtk_css_node_get_state (widget_node));
gtk_box_gadget_insert_gadget (GTK_BOX_GADGET (priv->gadget),
-1, priv->up_button,
- TRUE, TRUE, GTK_ALIGN_FILL);
+ FALSE, TRUE, GTK_ALIGN_FILL);
gtk_spin_button_set_adjustment (spin_button, NULL);